Dart Analyzer:FunctionDeclaration 声明
介绍
顶层函数声明,对应注释如下:
/// A top-level function declaration.
///
/// functionDeclaration ::=
/// 'external' functionSignature
/// | functionSignature [FunctionBody]
///
/// functionSignature ::=
/// [Type]? ('get' | 'set')? name [FormalParameterList]
///
这种 Specification 怎么看?
定义 functionDeclaration 概念,它为 external + functionSignature 概念 + 可选的函数体,或者为 functionSignature + 可选的函数体。(这里面看起来还有一个优先级关系,我根据理解这么划分了。
functionSignature 概念定义为:可选的类型概念(加上 nullable)+ get 后者 set 概念(nullable),再加上 FormalParameterList 参数列表概念。
FormalParameterList 则也有专门的概念定义。
举例,根据 Specification 举几个实例:
int add(int a, int b) {
return a + b;
}
String greeting(String name) => "Hello, $name!";
external void printHello();